Cesta k aplikaci na siti
Otázka od: Viktor Marek
1. 11. 2004 18:56
Zdravim
Potrebuji spoustet aplikaci po siti. V aplikaci si zjistuji cestu pres
"ExtractFilePath(ParamStr(0));"
Pokud spustim aplikaci primo na PC kde je fyzicky ulozena je vse OK. Pokud
ji ale spustim po siti vraci se cesta jako "\\Nejake PC\adresar\ " Existuje
nejaky zpusob (prikaz) aby se aplikaci spustene po siti vracela cesta toho
PC kde je aplikace fyzicky umistena? (c:\nejaky adresar\"
Diky za radu
Viktor Marek
viktor@vol.cz
Odpovedá: Roman Bradac
2. 11. 2004 9:34
Taky zdravim,
Mas moznost spustit aplikaci jako server (nebo pri instalaci na PC), ktera
ti do souboru, databaze atd, ulozi pozadovanou cestu, a kazdy kdo si spusti
vzdalene aplikaci si ji precte. Horsi to vsak muze byt jestlize aplikaci
nainstalujes na fileserver, kde kazdy pocitac si mapuje (prirazuje pismeno)
svoji cestu k adresari (napr. Novell) serveru.
> -----Original Message-----
> From: delphi-l-owner@clexpert.cz [mailto:delphi-l-owner@clexpert.cz] On
> Behalf Of Viktor Marek
> Sent: Monday, November 01, 2004 6:56 PM
> To: delphi-l@clexpert.cz
> Subject: Cesta k aplikaci na siti
>
> Zdravim
>
> Potrebuji spoustet aplikaci po siti. V aplikaci si zjistuji cestu pres
> "ExtractFilePath(ParamStr(0));"
> Pokud spustim aplikaci primo na PC kde je fyzicky ulozena je vse OK. Pokud
> ji ale spustim po siti vraci se cesta jako "\\Nejake PC\adresar\ "
> Existuje
> nejaky zpusob (prikaz) aby se aplikaci spustene po siti vracela cesta toho
> PC kde je aplikace fyzicky umistena? (c:\nejaky adresar\"
>
> Diky za radu
>
> Viktor Marek
> viktor@vol.cz
>
Odpovedá: Ludek ZITA
2. 11. 2004 9:50
On Behalf Of Viktor Marek
> Potrebuji spoustet aplikaci po siti. V aplikaci si zjistuji
> cestu pres "ExtractFilePath(ParamStr(0));" Pokud spustim
> aplikaci primo na PC kde je fyzicky ulozena je vse OK. Pokud
> ji ale spustim po siti vraci se cesta jako "\\Nejake
> PC\adresar\ "
Existuje nejaky zpusob (prikaz) aby se
> aplikaci spustene po siti vracela cesta toho PC kde je
> aplikace fyzicky umistena? (c:\nejaky
adresar\"
Ahoj,
No ja myslim, ze to je tak dobre, protoze napriklad na serveru je
adresar C:\Nekde\Nejaky\Adresar, ktery je z ostatnich pocitacu viditelny
treba jako \\pocitac\Adresar a nejaka stanice muze ten adresar mit
namapovany jako disk treba jako "S:" no a ParamStr(0) nebo
Application.ExeName ti spravne vraci cestu bud
C:\Nekde\Nejaky\Adresar\program.exe nebo \\pocitac\Adresar\program.exe
nebo S:\program.exe podle toho odkud si to spustil.
Nechapu k cemu by ti byla cesta 'C:\Nekde\Nejaky\Adresar' v pripade ze
jsi aplikaci spustil z toho compu, ktery to ma namapovany jako S:
Pokud Ti jde o pristup k ini souboru nebo jinym datum, tak to prece je
vzdy podle toho kde jsi to spustil cili v uvdenych pripadech
C:\Nekde\Nejaky\Adresar\nastaveni.ini nebo
\\pocitac\Adresar\nastaveni.ini nebo S:\nastaveni.ini je vzdy ten samy
soubor.
Ludek
Odpovedá: Pave Gazda
2. 11. 2004 10:09
>> PC\adresar\
" Existuje nejaky zpusob (prikaz) aby se
>> aplikaci spustene po siti vracela cesta toho PC kde je
>> aplikace fyzicky umistena? (c:\nejaky adresar\"
>
> Nechapu k cemu by ti byla cesta 'C:\Nekde\Nejaky\Adresar' v pripade ze
> jsi aplikaci spustil z toho compu, ktery to ma namapovany jako S:
No, zrovna jsem na takovy pripad narazil. Z programu chci po databazovem
serveru,
aby vytvoril novou databazi a k tomu mu musim zadat cestu C:\neco\...
Tak by me taky zajimala nejaka moznost to zjistit.
Pavel
Odpovedá: Roman Bradac
2. 11. 2004 10:59
Co pak je to za databazovi server?
> -----Original Message-----
> From: delphi-l-owner@clexpert.cz [mailto:delphi-l-owner@clexpert.cz] On
> Behalf Of Pave Gazda
> Sent: Tuesday, November 02, 2004 10:09 AM
> To: delphi-l@clexpert.cz
> Subject: Re: Cesta k aplikaci na siti
>
>
> >> PC\adresar\
" Existuje nejaky zpusob (prikaz) aby se
> >> aplikaci spustene po siti vracela cesta toho PC kde je
> >> aplikace fyzicky umistena? (c:\nejaky adresar\"
> >
> > Nechapu k cemu by ti byla cesta 'C:\Nekde\Nejaky\Adresar' v pripade ze
> > jsi aplikaci spustil z toho compu, ktery to ma namapovany jako S:
>
> No, zrovna jsem na takovy pripad narazil. Z programu chci po databazovem
> serveru,
> aby vytvoril novou databazi a k tomu mu musim zadat cestu C:\neco\...
>
> Tak by me taky zajimala nejaka moznost to zjistit.
>
> Pavel
>
>
>
Odpovedá: Pave Gazda
2. 11. 2004 12:52
> Co pak je to za databazovi server?
>
Pervasive
Odpovedá: Viktor Marek
2. 11. 2004 13:32
Zdravim
Udelal jsem utilitku na backupovani databaze MSSQL serveru. Pokud je
utilitka spustena primo na PC kde jede MSSQL server pak chodi. Pokud vsak
tuto utilitku pustim z jineho PC pak je to v pytli. Uz jen
"OSWin:=GetEnvironment('Comspec'); " mi vrati cestu k cmd.exe na PCcku, ze
ktereho jsem sitove spustil utilitku. Proste spusteni utilitky skonci nekde
mezi nebem a zemi. Navic je asi dost velky problem v tom, ze se prikaz
vykonava pres CommandLine.
Tedy jde mi o zpusob jak utilitku spustit na serveru po siti tak aby se
chovala jako kdybych ji spustil primo na serveru. Samozrejmne se da spoustet
i pres planovac na serveru, ale jde mi o zpusob jak ji spustit po siti
Cesta:=ExtractFilePath(ParamStr(0));
Script:='osql.exe parametry';
Prikaz:=GetEnvironment('Comspec');
WinExecAndWait32(Prikaz + ' /c' + Script,0);
To je asi v kostce jadro problemu.
Diky za radu
Viktor Marek
viktor@vol.cz
>Subject: Re: Cesta k aplikaci na siti
Odpovedá: Roman Bradac
2. 11. 2004 13:47
Uprimne, nikdy sem s tim nedelal, musel jsem se mrknout na internet. Nic
mene vypada to jako sql server. Napriklad MySql, a mam pocit ze jsem to
zahledl i na MSSQL , ma tabulku s promenymi. Jednou s promenou je i cesta k
datum, standartne: datadir: "c:\mysql\data". Da se s velkou pravdepodobnosti
predpokladat, ze Pervasive ji bude mit take. Pravdou take je ze tato
informace je ti asi k nicemu protoze tabulku ci databazi vytvoris jen sql
prikazem, pokud to ovsem u Pervasive neni jinak.
Roman
> -----Original Message-----
> From: delphi-l-owner@clexpert.cz [mailto:delphi-l-owner@clexpert.cz] On
> Behalf Of Pave Gazda
> Sent: Tuesday, November 02, 2004 12:40 PM
> To: delphi-l@clexpert.cz
> Subject: Re: Cesta k aplikaci na siti
>
>
>
> > Co pak je to za databazovi server?
> >
>
> Pervasive
>
>
>
Odpovedá: Pave Gazda
2. 11. 2004 14:08
> zahledl i na MSSQL , ma tabulku s promenymi. Jednou s promenou je i cesta
> k
> datum, standartne: datadir: "c:\mysql\data". Da se s velkou
> pravdepodobnosti
> predpokladat, ze Pervasive ji bude mit take. Pravdou take je ze tato
>
No vzdyt o to prave jde. Mam aplikaci, ktera chce vytvorit databazi
na ceste "\\server\data\atd..." (namapovano jako "X:\mojedata\atd..") a
hodilo by se mi, kdybych to mohl prevest
na cestu "c:\neco\atd..." abych mohl tu databazi vytvorit.
Pavel
Odpovedá: Ludek ZITA
2. 11. 2004 17:17
On Behalf Of Pave Gazda
> No vzdyt o to prave jde. Mam aplikaci, ktera chce vytvorit
> databazi na ceste "\\server\data\atd..." (namapovano jako
> "X:\mojedata\atd..") a
> hodilo by se mi, kdybych to mohl prevest
> na cestu "c:\neco\atd..." abych mohl tu databazi vytvorit.
Ahoj,
No pak je to tedy konstanata kterou si zapis pri instalaci do ini
souboru (v tom samem adresari) a pak ji cti treab takhle (ini soubor se
bude jmenovat stejne jako exe)
with TIniFile.Create(ChangeFileExt(Application.ExeName,'.ini')) do
try
Cesta := ReadString('Cesta','Cesta','');
finally
Free;
end;
Ludek
Odpovedá: Ludek ZITA
2. 11. 2004 17:36
On Behalf Of Viktor Marek
> Udelal jsem utilitku na backupovani databaze MSSQL serveru.
> Pokud je utilitka spustena primo na PC kde jede MSSQL server
> pak chodi. Pokud vsak tuto utilitku pustim z jineho PC pak je
> to v pytli. Uz jen "OSWin:=GetEnvironment('Comspec'); " mi
> vrati cestu k cmd.exe na PCcku, ze ktereho jsem sitove
> spustil utilitku. Proste spusteni utilitky skonci nekde mezi
> nebem a zemi. Navic je asi dost velky problem v tom, ze se
> prikaz vykonava pres CommandLine.
Ahoj,
Tak pouzij normalne SQL prikazy a connect databaze je ti jedno kde exe
lezi :
To co chces udelat je IMHO "znasilnovani" systemu.
Naviz tim ziskas kontrolu nad pravy kdo ten backup muze udelat.
Syntax
Backing up an entire database:
BACKUP DATABASE { database_name | @database_name_var }
TO < backup_device > [ ,...n ]
[ WITH
[ BLOCKSIZE = { blocksize | @blocksize_variable } ]
[ [ , ] DESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] DIFFERENTIAL ]
[ [ , ] EXPIREDATE = { date | @date_var }
| RETAINDAYS = { days | @days_var } ]
[ [ , ] PASSWORD = { password | @password_variable } ]
[ [ , ] FORMAT | NOFORMAT ]
[ [ , ] { INIT | NOINIT } ]
[ [ , ] MEDIADESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] MEDIANAME = { media_name | @media_name_variable } ]
[ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable }
]
[ [ , ] NAME = { backup_set_name | @backup_set_name_var } ]
[ [ , ] { NOSKIP | SKIP } ]
[ [ , ] { NOREWIND | REWIND } ]
[ [ , ] { NOUNLOAD | UNLOAD } ]
[ [ , ] RESTART ]
[ [ , ] STATS [ = percentage ] ]
]
Backing up specific files or filegroups:
BACKUP DATABASE { database_name | @database_name_var }
< file_or_filegroup > [ ,...n ]
TO < backup_device > [ ,...n ]
[ WITH
[ BLOCKSIZE = { blocksize | @blocksize_variable } ]
[ [ , ] DESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] DIFFERENTIAL ]
[ [ , ] EXPIREDATE = { date | @date_var }
| RETAINDAYS = { days | @days_var } ]
[ [ , ] PASSWORD = { password | @password_variable } ]
[ [ , ] FORMAT | NOFORMAT ]
[ [ , ] { INIT | NOINIT } ]
[ [ , ] MEDIADESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] MEDIANAME = { media_name | @media_name_variable } ]
[ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable }
]
[ [ , ] NAME = { backup_set_name | @backup_set_name_var } ]
[ [ , ] { NOSKIP | SKIP } ]
[ [ , ] { NOREWIND | REWIND } ]
[ [ , ] { NOUNLOAD | UNLOAD } ]
[ [ , ] RESTART ]
[ [ , ] STATS [ = percentage ] ]
]
Ludek
Odpovedá: Pave Gazda
3. 11. 2004 7:21
> On Behalf Of Pave Gazda
>> No vzdyt o to prave jde. Mam aplikaci, ktera chce vytvorit
>> databazi na ceste "\\server\data\atd..." (namapovano jako
>> "X:\mojedata\atd..") a
>> hodilo by se mi, kdybych to mohl prevest
>> na cestu "c:\neco\atd..." abych mohl tu databazi vytvorit.
>
> No pak je to tedy konstanata kterou si zapis pri instalaci do ini
> souboru (v tom samem adresari) a pak ji cti treab takhle (ini soubor se
Jak ji mam zapsat pri instalaci, kdyz ji neznam.
Navic, z jiz vytvorene databaze si ji umim zjistit.
Nehledam zpusoby, jak to obejit, jen jsem se pridal k puvodnimu dotazu a
uvedl priklad,
na ktery jsem prave narazil.
Pavel
Odpovedá: Roman Bradac
3. 11. 2004 9:56
Mam obavy, ze ti nic jineho nez to obejit nezbyva, protoze jestlize spoustis
aplikaci na vydalenem PC tak ji mas nahranou v pameti sveho PC a prave k
tomu to PC se vytahuji vsechny promene systemu. Jedinou vyjimkou je
terminalovy pristup, kde aplikace bezi v pameti vzdaleneho pocitace. To asi
nebude tvuj pripad, ze?
> -----Original Message-----
> From: delphi-l-owner@clexpert.cz [mailto:delphi-l-owner@clexpert.cz] On
> Behalf Of Pave Gazda
> Sent: Wednesday, November 03, 2004 7:22 AM
> To: delphi-l@clexpert.cz
> Subject: Re: Cesta k aplikaci na siti
>
>
>
>
> > On Behalf Of Pave Gazda
> >> No vzdyt o to prave jde. Mam aplikaci, ktera chce vytvorit
> >> databazi na ceste "\\server\data\atd..." (namapovano jako
> >> "X:\mojedata\atd..") a
> >> hodilo by se mi, kdybych to mohl prevest
> >> na cestu "c:\neco\atd..." abych mohl tu databazi vytvorit.
> >
> > No pak je to tedy konstanata kterou si zapis pri instalaci do ini
> > souboru (v tom samem adresari) a pak ji cti treab takhle (ini soubor se
>
> Jak ji mam zapsat pri instalaci, kdyz ji neznam.
> Navic, z jiz vytvorene databaze si ji umim zjistit.
>
> Nehledam zpusoby, jak to obejit, jen jsem se pridal k puvodnimu dotazu a
> uvedl priklad,
> na ktery jsem prave narazil.
>
> Pavel
>
>
>
Odpovedá: Richard Kejval
3. 11. 2004 13:31
Viktor Marek wrote:
> Potrebuji spoustet aplikaci po siti. V aplikaci si zjistuji cestu pres
> "ExtractFilePath(ParamStr(0));"
> Pokud spustim aplikaci primo na PC kde je fyzicky ulozena je vse OK. Pokud
> ji ale spustim po siti vraci se cesta jako "\\Nejake PC\adresar\ "
Existuje
> nejaky zpusob (prikaz) aby se aplikaci spustene po siti vracela cesta toho
> PC kde je aplikace fyzicky umistena? (c:\nejaky adresar\"
Presne na tento problem se hodi DCOM server. Program muzes spustit z
jakehokoliv pocitace a presto vzdy bezi jen tam kde je exe. My takhle mame
udelane napr. zalohovani na FB a neni to nic sloziteho..
S pozdravem
ing. Richard Kejval
mobil: 602477679
http://www.icsoftware.cz
Odpovedá: Jiri Kratochvil
3. 11. 2004 14:07
Doporucoval bych pouziti "ini" souboru!!! Je to jednoduche a prakticke.
Jednoduse se daji menit cesty k datum.
Jiri Kratochvil
3A - AUTO AUDIO ALARM, s.r.o.
Husova ul. 74, 251 01 Ricany u Prahy
Tel/Fax +420 323605003
GSM +420 605 210211
E-mail: kratochvil@3a.cz
----- Original Message -----
From: "Richard Kejval" <kejval.delphi@centrum.cz>
To: <delphi-l@clexpert.cz>
Sent: Wednesday, November 03, 2004 1:31 PM
Subject: Re: Cesta k aplikaci na siti
> Viktor Marek wrote:
> > Potrebuji spoustet aplikaci po siti. V aplikaci si zjistuji cestu pres
> > "ExtractFilePath(ParamStr(0));"
> > Pokud spustim aplikaci primo na PC kde je fyzicky ulozena je vse OK.
Pokud
> > ji ale spustim po siti vraci se cesta jako "\\Nejake PC\adresar\ "
> Existuje
> > nejaky zpusob (prikaz) aby se aplikaci spustene po siti vracela cesta
toho
> > PC kde je aplikace fyzicky umistena? (c:\nejaky adresar\"
>
>
> Presne na tento problem se hodi DCOM server. Program muzes spustit z
> jakehokoliv pocitace a presto vzdy bezi jen tam kde je exe. My takhle mame
> udelane napr. zalohovani na FB a neni to nic sloziteho..
>
>
> S pozdravem
> ing. Richard Kejval
> mobil: 602477679
> http://www.icsoftware.cz
>
>
>
>
>
Odpovedá: Ludek ZITA
3. 11. 2004 21:18
On Behalf Of Pave Gazda
> Jak ji mam zapsat pri instalaci, kdyz ji neznam.
> Navic, z jiz vytvorene databaze si ji umim zjistit.
>
> Nehledam zpusoby, jak to obejit, jen jsem se pridal k
> puvodnimu dotazu a
> uvedl priklad,
> na ktery jsem prave narazil.
>
Ahoj,
No prece to do nejakeho adresare instalujes, to prece pri instalaci vis.
Ludek
Odpovedá: Pave Gazda
4. 11. 2004 8:58
> Ahoj,
> No prece to do nejakeho adresare instalujes, to prece pri instalaci vis.
Snad uz naposled ( asi si nerozumime )
Ze stanice vidim adresar "X:\Aplikace\Data"
coz odpovida ceste "\\server\shared\Aplikace\Data"
a mi by se hodilo, kdybych znal lokalni cestu pro server tj.
"D:\DataAApp\shared\Aplikace\Data"
Mohl bych zalozit databazi na serveru.
Pokud to neznam, tak "z programatorskeho hlediska" je to pro mne snadnejsi:
pro instalaci(chod) programu dam podminku "je treba zalozit databazi ..."
Pavel
Odpovedá: Viktor Marek
4. 11. 2004 8:32
Zdravim
Prolezl jsem konferenci a web. Prispevku na tema DCOM je dost, ale moc
moudry z toho nejsem. Bylo by mozno poskytnout nekaky prikladek na DCOM
server - klient?
Diky
Viktor Marek
viktor@vol.cz
> Existuje
> > nejaky zpusob (prikaz) aby se aplikaci spustene po siti vracela cesta
toho
> > PC kde je aplikace fyzicky umistena? (c:\nejaky adresar\"
> Presne na tento problem se hodi DCOM server. Program muzes spustit z
> jakehokoliv pocitace a presto vzdy bezi jen tam kde je exe. My takhle mame
> udelane napr. zalohovani na FB a neni to nic sloziteho..
Odpovedá: Jan Sebelik
4. 11. 2004 9:53
> Prolezl jsem konferenci a web. Prispevku na tema DCOM je dost, ale moc
> moudry z toho nejsem. Bylo by mozno poskytnout nekaky prikladek na DCOM
> server - klient?
Prikladek je jedna vec, ale tak jednoduche to neni.
Problematika s tim spojena viz osnovy kurzu (www.haes.cz).
Vicevrstve aplikace (4 dny)
COM/DCOM (3 dny)
Distribuovane aplikace .NET (4 dny)
COM/DCOM vs. .NET (3 dny)
Honza
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes.cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347 735)
====================================